package cn.calin.day05.demo48Exception;

import java.io.FileNotFoundException;

/*
    finally代码块
    格式：
        try...catch:异常处理的第二种方式，自己处理异常
    格式：
        try{
            可能产生异常的代码
        }catch(定义一个异常变量，用来接收try中抛出的异常对象){
            异常的处理逻辑，异常异常对象之后，怎么处理异常对象
            一般在工作中会把异常的信息记录在一个日志中
        }
        ...
        catch(异常类名){

        }finally{
            无论是否出现异常都会执行
        }
     注意事项：
        1.finally不能单独使用，必须和try一起使用
        2.finally一般用于资源释放（资源回收），无论程序是否出现异常，最后都要资源释放（IO）
 */
public class Demo07Finally {
    public static void main(String[] args) {
        try {
            //会产生异常的代码
            readFile("c:\\a.cxt");
        } catch (FileNotFoundException e) {
            //异常处理逻辑
            e.printStackTrace();
        }finally {
            //无论是否出现问题，都会执行
            System.out.println("资源释放");
        }

    }


    public static void readFile(String fileName)throws FileNotFoundException {
        if (!fileName.equals("c:\\a.txt")) {
            throw new FileNotFoundException("传递文件路径不是”c:\\a.txt");
        }

        System.out.println("代码无误");
    }

}
